Dersin Adı | Programlama Paradigmaları |
Kodu | Yarıyıl | Teori (saat/hafta) | Uygulama/Lab (saat/hafta) | Yerel Kredi | AKTS |
---|---|---|---|---|---|
CE 316 | Bahar | 2 | 2 | 3 | 5 |
Ön-Koşul(lar) |
| ||||||||
Dersin Dili | İngilizce | ||||||||
Dersin Türü | Zorunlu | ||||||||
Dersin Düzeyi | Lisans | ||||||||
Dersin Veriliş Şekli | - | ||||||||
Dersin Öğretim Yöntem ve Teknikleri | Grup çalışmasıDeney / Laboratuvar / Atölye uygulamaAnlatım / Sunum | ||||||||
Dersin Koordinatörü | |||||||||
Öğretim Eleman(lar)ı | |||||||||
Yardımcı(ları) |
Dersin Amacı | Dersin amacı, öğrencilere farklı programlama paradigmaları ve programlama dillerini tanıtmaktır. Öğrenciler, programlamayla ilgili değişik yaklaşımlarla karşı karşıya gelecek, böylece alanla ilgili bilgi dağarcıklarını genişletecek ve problem çözme konusunda deneyim kazanacaktır. |
Öğrenme Çıktıları | Bu dersi başarıyla tamamlayabilen öğrenciler;
|
Ders Tanımı | Farklı programlama paradigmalarını tanıtan ve bu programlama dillerinde pratik beceriler içeren bu derste Zorunlu Programlama, C Programlama Dili, Bellek Yönetimi, Eş zamanlı Programlama, İş Parçacıkları, Kaynak Paylaşımı, Betik Programlama, Python, Fonksiyonel Programlama Dilleri, Mantıksal Programlama Dilleri konuları işlenecektir. |
Dersin İlişkili Olduğu Sürdürülebilir Kalkınma Amaçları | |
| Temel Ders | |
Uzmanlık/Alan Dersleri | X | |
Destek Dersleri | ||
İletişim ve Yönetim Becerileri Dersleri | ||
Aktarılabilir Beceri Dersleri |
Hafta | Konular | Ön Hazırlık |
1 | Programlama Paradigmalarına ve Dillerine Giriş | Concepts of Programming Languages, 2. Bölüm |
2 | Zorunlu Programlama: C Programlama Diline Giriş | C Programming Language, 1-4. Bölümler |
3 | Zorunlu Programlama: Pointerlar ve Bellek Yönetimi | C Programming Language, 5. Bölüm |
4 | Zorunlu Programlama: Yapılar | C Programming Language, 6. Bölüm |
5 | Zorunlu Programlama: Dosya Giriş-Çıkış | C Programming Language, 7. Bölüm |
6 | Nesne Yönelimli Programlama: Nesnelerle Düşünme | Concepts of Programming Languages, 12. Bölüm |
7 | Eş zamanlı Programlama: İş Parçacıkları | Concepts of Programming Languages, 13. Bölüm |
8 | Eş zamanlı Programlama: Semaforlar ve Monitörler | Concepts of Programming Languages, 13. Bölüm |
9 | Ara Sınav 1 | |
10 | Betik Programlama: Python | Introducing Python, 1-3. Bölüm ve Ek C |
11 | Fonksiyonel Programlama Dilleri: LISP | Concepts of Programming Languages, 15. Bölüm |
12 | Mantıksal Programlama Dilleri: Prolog | Concepts of Programming Languages, 16. Bölüm |
13 | Ara Sınav 2 | |
14 | Proje Sunumları | |
15 | Dersin gözden geçirilmesi | |
16 | Final Sınavı |
Ders Kitabı | Concepts of Programming Languages, Eleventh Edition, Robert W. Sebesta. Pearson, 2016, 978-1-292-10055-5. |
Önerilen Okumalar/Materyaller | The C Programming Language, 2nd Edition, Brian W. Kernighan and Dennis M. Ritchie. Prentice Hall, 1988, 0131103628 Introducing Python, Bill Lubanovic. O’Reilly, 2015, 978-1449359362. |
Yarıyıl Aktiviteleri | Sayı | Katkı Payı % |
Katılım | ||
Laboratuvar / Uygulama | 1 | 5 |
Arazi Çalışması | ||
Küçük Sınav / Stüdyo Kritiği | 2 | 15 |
Portfolyo | ||
Ödev | 1 | 5 |
Sunum / Jüri Önünde Sunum | ||
Proje | 1 | 25 |
Seminer/Çalıştay | ||
Sözlü Sınav | ||
Ara Sınav | 2 | 50 |
Final Sınavı | ||
Toplam |
Yarıyıl İçi Aktivitelerin Başarı Notuna Katkısı | 7 | 100 |
Yarıyıl Sonu Aktivitelerin Başarı Notuna Katkısı | ||
Toplam |
Yarıyıl Aktiviteleri | Sayı | Süre (Saat) | İş Yükü |
---|---|---|---|
Teorik Ders Saati (Sınav haftası dahildir: 16 x teorik ders saati) | 16 | 2 | 32 |
Laboratuvar / Uygulama Ders Saati (Sınav haftası dahildir. 16 x uygulama/lab ders saati) | 16 | 2 | |
Sınıf Dışı Ders Çalışması | 14 | 2 | 28 |
Arazi Çalışması | |||
Küçük Sınav / Stüdyo Kritiği | 2 | 4 | |
Portfolyo | |||
Ödev | 1 | 4 | |
Sunum / Jüri Önünde Sunum | |||
Proje | 1 | 30 | |
Seminer/Çalıştay | |||
Sözlü Sınav | |||
Ara Sınavlar | 2 | 8 | |
Final Sınavı | |||
Toplam | 150 |
# | Program Yeterlilikleri / Çıktıları | * Katkı Düzeyi | ||||
1 | 2 | 3 | 4 | 5 | ||
1 | Matematik, Fen Bilimleri ve Bilgisayar Mühendisliği konularında yeterli bilgi sahibidir; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinde kullanır. | X | ||||
2 | Karmaşık Bilgisayar Mühendisliği problemlerini saptar, tanımlar, formüle eder ve çözer; bu amaca uygun analiz ve modelleme yöntemlerini seçer ve uygular. | X | ||||
3 | Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlar; bu amaçla modern tasarım yöntemlerini uygular. | X | ||||
4 | Bilgisayar Mühendisliği uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirir, seçer ve kullanır; bilişim teknolojilerini etkin bir şekilde kullanır. | X | ||||
5 | Karmaşık Bilgisayar Mühendisliği problemlerinin veya araştırma konularının incelenmesi için deney tasarlar, deney yapar, veri toplar, sonuçları analiz eder ve yorumlar. | |||||
6 | Bilgisayar Mühendisliği disiplini içinde ve çok disiplinli takımlarda etkin biçimde çalışır; bireysel çalışma sergiler. | X | ||||
7 | Türkçe sözlü ve yazılı etkin iletişim kurar; etkin rapor yazar ve yazılı raporları anlar, tasarım ve üretim raporları hazırlar, etkin sunum yapar, açık ve anlaşılır talimat verir ve alır. | |||||
8 | Bilgisayar Mühendisliği uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın mühendislik alanına yansıyan sorunları hakkında bilgi sahibidir; mühendislik çözümlerinin hukuksal sonuçlarının farkındadır. | |||||
9 | Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilincine sahiptir; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi sahibidir. | |||||
10 | Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi sahibidir; girişimcilik, yenilikçilik hakkında bilinçlidir; sürdürülebilir kalkınma hakkında bilgi sahibidir. | |||||
11 | Bir yabancı dili kullanarak Bilgisayar Mühendisliği ile ilişkili konularda, bilgi toplar ve meslektaşları ile iletişim kurar. ("European Language Portfolio Global Scale", Level B1) | |||||
12 | İkinci yabancı dili orta düzeyde kullanır. | |||||
13 | Yaşam boyu öğrenmenin gerekliliği bilincindedir; bilgiye erişir, bilim ve teknolojideki gelişmeleri izler ve kendini sürekli yeniler; insanlık tarihi boyunca oluşan bilgi birikimini Bilgisayar Mühendisliği alanıyla ilişkilendirir. |
*1 Lowest, 2 Low, 3 Average, 4 High, 5 Highest